import requests

import config
from config import URL


class UserApi(object):
    def __init__(self):
        """
        当实例化UserAPI对象后自动生成以下默认属性
        """
        self.get_toke_url = URL + "/api/v1/token/user"
        self.verify_toke_url = URL + "/api/v1/token/verify"
        self.ueser_address_url = URL + "/api/v1/address"

    def get_token(self, code):
        """通过code来获取token
        :param code:在微信小程序开发工具中获得到的
        :return: 返回token信息
        """
        data = {"code": code}
        resp = requests.post(self.get_toke_url, headers=config.headers, json=data)
        # 只有当code符合验证响应状态码为200才有token
        # 所有在当响应状态码为200意为登录成功
        if resp.status_code == 200:
            # 当登录成功后给config中的headers更新token信息
            config.headers["token"] = resp.json().get("token")
        print(config.headers["token"])
        return resp

    def verify_token(self):
        """验证token
        :return:token的验证信息
        """
        # 从config中的headers里提取token信息作为请求参数
        data = {"token": config.headers.get("token")}
        resp = requests.post(url=self.verify_toke_url, headers=config.headers, json=data)
        return resp

    def get_user_address(self):
        """订单模块中的创建订单
        :return: 返回的是订单创建信息
        """
        resp = requests.get(url=self.ueser_address_url, headers=config.headers)
        return resp
